package com.example.design.decorator.decorater;

import com.example.design.decorator.Beverage;
import com.example.design.decorator.CondimentDecorator;

public class Mocha extends CondimentDecorator {
    /**
     * 引用一个Beverage：
     *  1：用一个实例变量记录饮料（被装饰者）
     *  2：让饮料（被装饰者）被记录到实例变量中，把饮料当作构造器的参数，再由构造器将此饮料记录在实例变量中
     */
    Beverage beverage;

    public Mocha(Beverage beverage){
        this.beverage = beverage;
    }

    /**
     * 拼接完整的饮料
     * @return
     */
    @Override
    public String getDescription() {
        return beverage.getDescription() + ", Mocha";
    }

    /**
     * 累加计算价格
     * @return
     */
    @Override
    public double cost() {
        return 0.20 + beverage.cost();
    }
}
